'use strict'
/**
 * MaskUtil
 * 遮罩层工具类
 * 你是一段成熟的代码，要学会自己改bug  ----我是小尾巴
 */

import {
  Spin as $Spin
} from 'iview'

const mask = {
  /**
   * 计数键值对
   */
  numMap: {},
  /**
   * 默认的Key值
   */
  defaultKey: 'blc',
  /**
     * 初始化计数键值对
     * @param key
     */
  init (key = mask.defaultKey) {
    if (!this.numMap[key]) {
      this.numMap[key] = 0
    }
  }
}

/**
 * 显示遮罩层
 * @param key
 */
export function openMask (key = mask.defaultKey) {
  mask.init(key)
  if (mask.numMap[key]++ === 0) {
    $Spin.show()
  }
}

/**
 * 关闭遮罩层
 * @param key
 * @param num 关闭的数据
 */
export function closeMask (key = mask.defaultKey, num = 1) {
  mask.numMap[key] -= num
  if (mask.numMap[key] <= 0) {
    mask.numMap[key] = 0
    $Spin.hide()
  }
}
